package cn.edu.jxau.core.tx;

import cn.edu.jxau.core.annotation.Transaction;
import cn.edu.jxau.core.aop.Proxy;
import cn.edu.jxau.core.aop.ProxyChain;
import cn.edu.jxau.core.exception.DatabaseException;
import cn.edu.jxau.core.util.DBUtils;

import java.lang.reflect.Method;

/**
 * Desc:
 * ------------------------------------
 * Author:fulei04@meituan.com
 * Date:2017/12/24
 * Time:上午8:21
 */
public class TransactionProxy implements Proxy {

    /**
     * 用于支持事务传播机制。它是一个标志，用于保证同一线程中事务控制相关逻辑只会执行一次
     */
    private static final ThreadLocal<Boolean> FLAG_HOLDER = new ThreadLocal<Boolean>() {
        @Override
        protected Boolean initialValue() {
            return false;
        }
    };

    @Override
    public Object doPorxy(ProxyChain proxyChain) throws Throwable {
        return null;
    }
}
